﻿using System;
using System.Collections.Generic;

using Logger;
using System.Reflection;
using ClickLand.CorporacionPlaza.Comunes.Recursos;
using ClickLand.CorporacionPlaza.AccesoDato.Fabricas;
using ClickLand.CorporacionPlaza.Comunes.Entidades;
using ClickLand.CorporacionPlaza.LogicaNegocio.Contratos;


namespace ClickLand.CorporacionPlaza.LogicaNegocio.Implementacion.ComandosContratoPension
{
    public class ConsultarLista:IComando<List<ContratoPension>>
    {
        private long _id;


        /// <summary>
        /// Constructor de la clase
        /// </summary>
        /// <param name="id"></param>
        public ConsultarLista(long id)
        {
            _id = id;
        }


        /// <summary> Metodo que ejecuta la accion del comando </summary>
        /// <returns></returns>
        public List<ContratoPension> Ejecutar()
        {
            #region Instrumentacion Entrada
            if (Log.InfoHabilitado)
                Log.Info(string.Format(Recurso.EntrandoMetodo,MethodBase.GetCurrentMethod().Name));
            #endregion
            var retorno = FabricaDao.ObtenerFabrica().ObtenerDaoContratoPension().ConsultarLista(_id);
            #region Instrumentacion Salida
            if (Log.InfoHabilitado)
                Log.Info(string.Format(Recurso.SaliendoMetodo,MethodBase.GetCurrentMethod().Name));
            #endregion
            return retorno;
        }
    }
}
